-- These MIBs were created on 05/14/2001 
-- This module defines enterprise MIBs for VPN User
-- 
-- Copyright (c) 1999-2004, Juniper Networks, Inc.
-- All rights reserved.
-- 

-- MODULE-IDENTITY
--  OrgName
--    Juniper Networks, Inc.
--  ContactInfo
--     Customer Support
--     
--     1194 North Mathilda Avenue 
--     Sunnyvale, California 94089-1206
--     USA
--     
--     Tel: 1-800-638-8296
--     E-mail: customerservice@juniper.net
--     HTTP://www.juniper.net"
--
--  Last modified date: 05/03/2004
--  Modified copyright and contact info
--
--  Last modified date: 05/05/2002
--  add dial-up group type
--    
--  Last modified date: 11/13/2003
--  Correct spelling mistake
--    

NETSCREEN-VPN-USER-MIB DEFINITIONS ::= BEGIN
IMPORTS

    DisplayString       FROM RFC1213-MIB 
    netscreenVpn    FROM NETSCREEN-SMI;
    nsVpnUser   OBJECT IDENTIFIER ::= {netscreenVpn 10}
    
        nsVpnUsrDialupGrpTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF NsVpnUsrDialupGrpEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION 
                        "NetScreen supports using dialup group to organize vpn user.This table
                        collects the information of dialup group in NetScreen device."
                ::= { nsVpnUser 1 }

    nsVpnUsrDialupGrpEntry OBJECT-TYPE
        SYNTAX  NsVpnUsrDialupGrpEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "Each entry in this table holds a set of configuration information about
               dialup group."
        INDEX   { nsVpnUsrDialupGrpIndex }
        ::= { nsVpnUsrDialupGrpTable 1 }

        NsVpnUsrDialupGrpEntry ::=
                SEQUENCE {
          nsVpnUsrDialupGrpIndex
              INTEGER,
                  nsVpnUsrDialupGrpName
                      DisplayString,
                  nsVpnUsrDialupGrpType
                      INTEGER,
                  nsVpnUsrDialupGrpVsys
                      INTEGER
       }

        nsVpnUsrDialupGrpIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "A unique value for schedule.  Its value
              ranges between 0 and 65535 and may not be contiguous." 
        ::= { nsVpnUsrDialupGrpEntry 1 }

        nsVpnUsrDialupGrpName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "dialup user group name."
        ::= { nsVpnUsrDialupGrpEntry 2 }

        nsVpnUsrDialupGrpType OBJECT-TYPE
        SYNTAX  INTEGER {
            undefined(0),
                manual(1),
                ike(2),
                l2tp(3),
                xauth(4),        
                auth(5),
                external(6)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "dial up group type."
        ::= { nsVpnUsrDialupGrpEntry 3 }

        nsVpnUsrDialupGrpVsys OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "vsys this group belongs to."
        ::= { nsVpnUsrDialupGrpEntry 4 }

        nsVpnManualKeyUsrTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF NsVpnManualKeyUsrEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION 
                        "This table specifies the configuration attributes for 
                        manual key user."
                ::= { nsVpnUser 2 }

    nsVpnManualKeyUsrEntry OBJECT-TYPE
        SYNTAX  NsVpnManualKeyUsrEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "Each entry in the nsVpnManualkeyUsrTable holds a set of 
               configuration parameters associated with an instance of
               manual key user."
        INDEX   { nsVpnManualKeyUsrIndex }
        ::= { nsVpnManualKeyUsrTable 1 }

        NsVpnManualKeyUsrEntry ::=
                SEQUENCE {
          nsVpnManualKeyUsrIndex
              INTEGER,
                  nsVpnManualKeyUsrName
                      DisplayString,
                  nsVpnManualKeyUsrGrp
                      DisplayString,
                  nsVpnManualKeyUsrSILocal
                      INTEGER,
                  nsVpnManualKeyUsrSIRemote
                          INTEGER,
                  nsVpnManualKeyUsrTunnelType
                      INTEGER,
                  nsVpnManualKeyUsrEspEncAlg
                      INTEGER,
                  nsVpnManualKeyUsrEspAuthAlg
                      INTEGER,
                  nsVpnManualKeyUsrAhHash
                      INTEGER,
                  nsVpnManualKeyUsrVsys
                      INTEGER
       }

        nsVpnManualKeyUsrIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "A unique value for manual key user table.  Its value
              ranges between 0 and 65535 and may not be contiguous." 
        ::= { nsVpnManualKeyUsrEntry 1 }

        nsVpnManualKeyUsrName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "User name."
        ::= { nsVpnManualKeyUsrEntry 2 }

        nsVpnManualKeyUsrGrp OBJECT-TYPE
        SYNTAX  DisplayString(SIZE(0..32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "group this user belongs to."
        ::= { nsVpnManualKeyUsrEntry 3 }

        nsVpnManualKeyUsrSILocal OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Local Security Index"
        ::= { nsVpnManualKeyUsrEntry 4 }

        nsVpnManualKeyUsrSIRemote OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Remote Security Index"
        ::= { nsVpnManualKeyUsrEntry 5 }

        nsVpnManualKeyUsrTunnelType OBJECT-TYPE
        SYNTAX  INTEGER {
             esp(0),
             ah(1)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "vpn tunnel type."
        ::= { nsVpnManualKeyUsrEntry 6 }

        nsVpnManualKeyUsrEspEncAlg OBJECT-TYPE
        SYNTAX  INTEGER {
             null(0),
             des-cbc(1),
                         triple-des-cbc(2)
                         aes(3),
                         aes-192(4),
                     aes-256(5)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "ESP Encryption Algorithm."
        ::= { nsVpnManualKeyUsrEntry 7 }
                                  
        nsVpnManualKeyUsrEspAuthAlg OBJECT-TYPE
        SYNTAX  INTEGER {
             null(0),
             md5(1),
             sha(2)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "ESP Authentication Algorithm."
        ::= { nsVpnManualKeyUsrEntry 8 }

        nsVpnManualKeyUsrAhHash OBJECT-TYPE
        SYNTAX  INTEGER {
                         null(0),
             md5(1),
             sha(2)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "AH Hash Algorithm."
        ::= { nsVpnManualKeyUsrEntry 9 }

        nsVpnManualKeyUsrVsys OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "vsys this user belongs to."
        ::= { nsVpnManualKeyUsrEntry 10 }

        nsVpnAILUsrTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF NsVpnAILUsrEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION 
                        "This table specifies the configuration attributes for 
                        AUTH/IKE/L2TP user."
                ::= { nsVpnUser 3 }

    nsVpnAILUsrEntry OBJECT-TYPE
        SYNTAX  NsVpnAILUsrEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "Each entry in the nsVpnManualkeyUsrTable holds a set of 
               configuration parameters associated with an instance of
               AUTH/IKE/L2TP user."
        INDEX   { nsVpnAILUsrIndex }
        ::= { nsVpnAILUsrTable 1 }

        NsVpnAILUsrEntry ::=
                SEQUENCE {
          nsVpnAILUsrIndex
              INTEGER,
                  nsVpnAILUsrName
                      DisplayString,
                  nsVpnAILUsrGrp
                      DisplayString,
                  nsVpnAILUsrStatus
                      INTEGER,
                  nsVpnAILUsrIKE
                          INTEGER,
                  nsVpnAILUsrIKEIdType
                          INTEGER,
                  nsVpnAILUsrIKEId
                          DisplayString,
                  nsVpnAILUsrAuth
                      INTEGER,
                  nsVpnAILUsrL2TP
                      INTEGER,   
                  nsVpnAILUsrL2tpRemoteIp
                      IpAddress,
                  nsVpnAILUsrL2tpIpPool
                      DisplayString,
                  nsVpnAILUsrL2tpIp
                      IpAddress,
                  nsVpnAILUsrL2tpPriDnsIp
                      IpAddress,
                  nsVpnAILUsrL2tpSecDnsIp
                      IpAddress,
                  nsVpnAILUsrL2tpPriWinsIp
                      IpAddress,
                  nsVpnAILUsrL2tpSecWinsIp
                      IpAddress,
                  nsVpnAILUsrVsys
                      INTEGER
                      
       }

        nsVpnAILUsrIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "A unique value for Auth/Ike/l2tp user table.  Its value
              ranges between 1 and 65535 and may not be contiguous." 
        ::= { nsVpnAILUsrEntry 1 }

        nsVpnAILUsrName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "User name."
        ::= { nsVpnAILUsrEntry 2 }

        nsVpnAILUsrGrp OBJECT-TYPE
        SYNTAX  DisplayString(SIZE(0..32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "group this user belongs to."
        ::= { nsVpnAILUsrEntry 3 } 
        
    nsVpnAILUsrStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                disable(0),
                enabled(1)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "User status"
        ::= { nsVpnAILUsrEntry 4 }
        
    nsVpnAILUsrIKE  OBJECT-TYPE
        SYNTAX  INTEGER {
                no(0),
                yes(1)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Since Authentication, IKE L2TP can be combined together. This
             attribute is used to indicate if this user is an IKE user."
        ::= { nsVpnAILUsrEntry 5 }  

    nsVpnAILUsrIKEIdType  OBJECT-TYPE
        SYNTAX  INTEGER {
                        not-set(0),
                        ipv4-addr(1),
                fqdn(2),
                usr-fqdn(3),
                        ipv4-addr-subnet(4),
                        ipv6-addr(5),
                        ipv6-addr-subnet(6),
                        ipv4-addr-addr-range(7),
                        ipv6-addr-addr-range(8),
                        der-asn1-dn(9),
                        der-asn1-gn(10)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "IKE user type 1 means auto, other values are undefined."
        ::= { nsVpnAILUsrEntry 6 }  

    nsVpnAILUsrIKEId  OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "IKE id."
        ::= { nsVpnAILUsrEntry 7 }  


    nsVpnAILUsrAuth  OBJECT-TYPE
        SYNTAX  INTEGER {
                no(0),
                yes(1)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Since Authentication, IKE L2TP can be combined together. This
             attribute is used to indicate if this user is an Authentication user."
        ::= { nsVpnAILUsrEntry 8 }  

    nsVpnAILUsrL2TP  OBJECT-TYPE
        SYNTAX  INTEGER {
                no(0),
                yes(1)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Since Authentication, IKE L2TP can be combined together. This
             attribute is used to indicate if this user is a L2TP user. The
             NetScreen-1000 does not support L2TP."
        ::= { nsVpnAILUsrEntry 9 }  
    
    nsVpnAILUsrL2tpRemoteIp OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "L2TP remote peer ip address."
        ::= { nsVpnAILUsrEntry 10 }  
        
    nsVpnAILUsrL2tpIpPool  OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "ip pool entity name."
        ::= { nsVpnAILUsrEntry 11 }  

    nsVpnAILUsrL2tpIp  OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "L2TP local ip address."
        ::= { nsVpnAILUsrEntry 12 }  

    nsVpnAILUsrL2tpPriDnsIp  OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "primary DNS server IP address for L2TP user."
        ::= { nsVpnAILUsrEntry 13 }  

    nsVpnAILUsrL2tpSecDnsIp  OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "secondary DNS server IP address for L2TP user."
        ::= { nsVpnAILUsrEntry 14 }  

    nsVpnAILUsrL2tpPriWinsIp  OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "primary WINS server IP address for L2TP user."
        ::= { nsVpnAILUsrEntry 15 }  

    nsVpnAILUsrL2tpSecWinsIp  OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "secondary WINS server IP address for L2TP user."
        ::= { nsVpnAILUsrEntry 16 }  

        nsVpnAILUsrVsys OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "vsys this user belongs to."
        ::= { nsVpnAILUsrEntry 17 }
        
END